It has become commonplace to incorporate streaming media, such as streaming audio and streaming video, into a wide variety of computing applications. A typical streaming media protocol trades computer processing resources for communication bandwidth by encoding streaming media signals before transmission across bandwidth limited transmission paths and then decoding afterwards. The processing resources required can become burdensome, particularly for computing devices with a limited power supply, as intensive processing can result in significant power consumption and rapid power budget expenditure. It is desirable to reduce the processing burden of a given streaming media protocol while, at the same time, reducing or minimizing any compromise to the protocol.
Reducing protocol compromise can provide significant advantages, particularly where an installed base of protocol users exists. Some streaming media protocols can be tuned, for example, so that processing burden can be reduced at a cost of increased bandwidth or lower quality streaming media. However, it is desirable to reduce processing burden without requiring such compromises. Different streaming media protocols have different, and sometimes lower, processing requirements. However, it is also desirable to reduce the processing burden of a particular protocol without making it incompatible with previous versions of the protocol. This type of protocol compromise, in particular, can impact the practicality of the protocol and/or limit its adoption by a user community. Further protocol compromises that are desirable to reduce include compromises to media stream characteristics, symmetric aspects of streaming media coder-decoders (codecs), and settled codec architecture in general.